home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib11.dsk / MLE DRIVER II.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  44 lines

  1. 10  REM  **********************
  2. 11  REM  * M.L.E. DRIVER II   *
  3. 12  REM  * BY W. T. DOYLE     *
  4. 13  REM  * COPYRIGHT (C) 1982 *
  5. 14  REM  * BY MICRO-SPARC INC *
  6. 15  REM  * LINCOLN, MA. 01773 *
  7. 16  REM  **********************
  8. 100  HIMEM: 16368
  9. 110  ONERR  GOTO 440
  10. 120  REM  *** BLOAD MLE.B ***
  11. 130  LET D$ =  CHR$(4): HOME : VTAB 12: HTAB 10: PRINT "ONE MOMENT PLEASE...": PRINT D$;"BLOAD MLE.B"
  12. 140  REM  *** SET UP PATCHES ***
  13. 150  LET A$ = "3F5:4C 00 03 N 300:20 7B DD 20 52 E7 A6 50 A5 51 4C 41 F9 N 430E:20 DC 49 N 49DC:CE 72 43 A0 09 20 E4 FB AD 30 C0 60 N D823G"
  14. 160  FOR I = 1 TO  LEN(A$): POKE 511 +I, ASC( MID$ (A$,I,1)) +128: NEXT : POKE 72,0: CALL  -144
  15. 170  REM  *** CALL MLE ***
  16. 180  CALL 16384
  17. 190  REM  *** FILE LOADING ***
  18. 200  PRINT : HOME : PRINT D$;"CATALOG": PRINT : PRINT 
  19. 210  LET N =  PEEK(16369): PRINT "ENTER 'EXIT' TO RETURN TO MENU": PRINT : PRINT "ENTER FILE NAME ";: INPUT F$: IF F$ = ""  THEN F$ = "NO NAME"
  20. 220  IF F$ = "EXIT"  THEN 180
  21. 230  ON N GOTO 240,320
  22. 240  REM  *** BSAVE ROUTINE ***
  23. 250  LET L% =  PEEK(16370) +256 * PEEK(16371)
  24. 260  LET BA =  PEEK(16372) +256 * PEEK(16373): LET LO = BA -256 * INT(BA/256): LET HI =  INT(BA/256): POKE 6,LO: POKE 7,HI
  25. 270  HOME : VTAB 12: HTAB 6: PRINT "BSAVING ";F$;",A$";: & BA: PRINT ",L$";: & L%: PRINT 
  26. 280  POKE 41795,7: POKE 41796,0: POKE 41798,6: POKE 41799,0
  27. 290  PRINT D$;"BSAVE";F<CTRL-A>$;",A20480,L";L%
  28. 300  POKE 41795,115: POKE 41796,170: POKE 41798,114: POKE 41799,170
  29. 310  GOTO 180
  30. 320  REM  *** BLOAD ROUTINE ***
  31. 330  HOME : VTAB 12: HTAB 10: PRINT "BLOADING ";F$
  32. 340  LET AD = 20480:LO = AD -256 * INT(AD/256):HI =  INT(AD/256): POKE 43634,LO: POKE 43635,HI
  33. 350  POKE 41853,6: POKE 41854,0: POKE 41856,7: POKE 41857,0
  34. 360  PRINT D$;"BLOAD";F$
  35. 370  POKE 41853,114: POKE 41854,170: POKE 41856,115: POKE 41857,170
  36. 380  LET BA =  PEEK(6) +256 * PEEK(7)
  37. 390  LET LN =  PEEK(43616) +256 * PEEK(43617)
  38. 400  HOME : VTAB 12: HTAB 6: PRINT F$;",A$";: & BA: PRINT ",L$";: & LN: PRINT " BLOADED": PRINT : PRINT : VTAB 20: HTAB 7: PRINT "PRESS ANY KEY TO CONTINUE": GET A$: PRINT A$
  39. 410  LET JP% =  PEEK(16374) +256 * PEEK(16375)
  40. 420  CALL JP%: GOTO 180
  41. 430  REM  *** ERROR HANDLING ***
  42. 440  LET EC% =  PEEK(222): HOME : VTAB 11: HTAB 12
  43. 450  POKE 41795,115: POKE 41796,170: POKE 41798,114: POKE 41799,170: POKE 41853,114: POKE 41854,170: POKE 41856,115: POKE 41857,170: REM  FIX DOS
  44. 460  PRINT "DISK ERROR CODE ";EC%: PRINT : HTAB 14: INPUT "PRESS RETURN ";A$: GOTO 180